
package kusterordonio.interfaz;

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import kusterordonio.dominio.*;

public class GeneraPDF {
    
    private SistemaCarne modelo;
    private Ninio ninio;
    private Persona actor;
    private FuncionesAuxiliares funcAux;
    private static String archivo = "Carné de Salud.pdf";
    private static Font tituloFont = new Font(Font.FontFamily.HELVETICA, 28,Font.BOLD);
    private static Font capituloFont = new Font(Font.FontFamily.HELVETICA, 18,Font.BOLD);
    private static Font redFont = new Font(Font.FontFamily.HELVETICA, 12,Font.NORMAL, BaseColor.RED);
    private static Font subCapituloFont = new Font(Font.FontFamily.HELVETICA, 16,Font.BOLD);
    private static Font sinDatosFont = new Font(Font.FontFamily.HELVETICA, 14,Font.BOLD);
    private static Font normalFont = new Font(Font.FontFamily.HELVETICA, 12,Font.BOLD);
    private static Font chicaFont = new Font(Font.FontFamily.HELVETICA, 10);
    private static Font masChicaFont = new Font(Font.FontFamily.HELVETICA, 8);
    
    public GeneraPDF(SistemaCarne unSistema, Ninio unNinio, Persona unActor, FuncionesAuxiliares unaFunc){
        modelo= unSistema;
        ninio= unNinio;
        actor= unActor;
        funcAux= unaFunc;
        crearDocumento();
    }
    
    public void crearDocumento() {
        try {
                Document document = new Document(PageSize.A4);
                PdfWriter.getInstance(document, new FileOutputStream(archivo));
                document.open();
                addMetaData(document);
                addTitlePage(document);
                cargarFicha(document);
                cargarDatosEmbarazo(document);
                cargarParto(document);
                cargarVacunas(document);
                controlesSaludHastaDosAnios(document);
                controlesSaludDesdeDosAnios(document);
                interconsultas(document);
                hospitalizacionesEnf(document);
                //salud ocular
                cargarSaludBucal(document);
                ecografias(document);
                aptitudFisica(document);
                notas(document);
                telefonos(document);
                document.close();
        } catch (Exception e) {
                e.printStackTrace();
        }
    }
    
    private void addMetaData(Document document) {
        document.addTitle("Canré de Salud");
        document.addSubject(ninio.toString());
        document.addKeywords("Java, PDF, iText");
        document.addAuthor(actor.toString());
        document.addCreator(actor.toString());
    }

	private void addTitlePage(Document document)throws DocumentException {
		Paragraph preface = new Paragraph();
		agregarLineaEnBlanco(preface, 3);
                
                Paragraph titulo = new Paragraph("Carné de Salud", tituloFont);
                titulo.setAlignment(Element.ALIGN_CENTER);
		preface.add(titulo);
                
                agregarLineaEnBlanco(preface, 3);
                
                Paragraph titular = new Paragraph(ninio.toString().toUpperCase(), tituloFont);
                titular.setAlignment(Element.ALIGN_CENTER);
		preface.add(titular);
                
                agregarLineaEnBlanco(preface, 8);
                
                Paragraph autor = new Paragraph("Reporte generado por: " + actor.toString(), capituloFont);
                autor.setAlignment(Element.ALIGN_CENTER);
		preface.add(autor);
                preface.setAlignment(Element.ALIGN_CENTER);
		document.add(preface);
		document.newPage();
	}

	private void cargarFicha(Document document) throws DocumentException {
		Anchor anchor = new Anchor("FICHA DEL NIÑO", capituloFont);
                anchor.setLeading(15);
		anchor.setName("Ficha del niño");
                
                // Se crea un parrafo que contenga los datos 
                Paragraph ficha = new Paragraph(anchor);
                agregarLineaEnBlanco(ficha, 2);
                
                String sinD = "Sin datos";
                // Se crea los datos y se los agrega al parrafo 
                String nomb = "Este carné pertenece a: "+ ninio.toString().toUpperCase();
		Paragraph nombre = new Paragraph(nomb, normalFont);
                ficha.add(nombre);
                // Se crea un formato para la fecha y se agrefa al parrafo
                SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                Date fecha = ninio.getFechaNac();
                String fechaNac = "Fecha nacimiento: "+ formatoFecha.format(fecha);
                Paragraph fechaNacimiento = new Paragraph(fechaNac, normalFont);
                ficha.add(fechaNacimiento);
                String lugar = "Lugar de nacimiento: ";
                if(!ninio.getLugarNac().equals("")){
                    lugar = lugar+ ninio.getLugarNac();
                }else{
                    lugar = lugar+sinD;
                }
		Paragraph lugarNac = new Paragraph(lugar, normalFont);
                ficha.add(lugarNac);
                String cedula = "Cedula de identidad: ";
                if(!ninio.getCedulaId().equals("")){
                    cedula = cedula+ ninio.getCedulaId();
                }else{
                    cedula = cedula+sinD;
                }
		Paragraph cedulaId = new Paragraph(cedula, normalFont);
                ficha.add(cedulaId);
                String dom = "Domicilio: ";
                if(!ninio.getDomiclio().equals("")){
                    dom = dom+ ninio.getDomiclio();
                }else{
                    dom = dom+sinD;
                }
		Paragraph domicilio = new Paragraph(dom, normalFont);
                ficha.add(domicilio);
                String tel = "Teléfono: ";
                if(!ninio.getTelefono().equals("")){
                    tel = tel+ ninio.getTelefono();
                }else{
                    tel = tel+sinD;
                }
		Paragraph telefono = new Paragraph(tel, normalFont);
                ficha.add(telefono);
                String serv = "Servicio de salud: ";
                if(!ninio.getServicioSalud().equals("")){
                    serv = serv+ ninio.getServicioSalud();
                }else{
                    serv = serv+sinD;
                }
		Paragraph servicio = new Paragraph(serv, normalFont);
                ficha.add(servicio);
                String idServ = "Nº de identificación en el servicio: ";
                if(!ninio.getIdEnServicio().equals("")){
                    idServ = idServ+ ninio.getIdEnServicio();
                }else{
                    idServ = idServ+sinD;
                }
		Paragraph idServicio = new Paragraph(idServ, normalFont);
                ficha.add(idServicio);
                agregarLineaEnBlanco(ficha, 2);
                
                Paragraph tituloM = new Paragraph("Datos de la madre", subCapituloFont);
                tituloM.setAlignment(Element.ALIGN_CENTER);
		ficha.add(tituloM);
                agregarLineaEnBlanco(ficha, 1);
                if(ninio.getMadre() != null){
                    String nombM = "Nombre: ";
                    if(!ninio.getMadre().toString().equals("")){
                        nombM = nombM+ ninio.getMadre().toString();
                    }else{
                        nombM = idServ+sinD;
                    }
                    Paragraph nombreM = new Paragraph(nombM, normalFont);
                    ficha.add(nombreM);
                    
                    if(ninio.getMadre().getFechaNac() != null){
                        Date fechaM = ninio.getMadre().getFechaNac();
                        String fechaNacM = "Fecha nacimiento: "+ formatoFecha.format(fechaM);
                        Paragraph fechaNacimientoM = new Paragraph(fechaNacM, normalFont);
                        ficha.add(fechaNacimientoM);
                    }else{
                        String sinDM = "Fecha de nacimiento: "+sinD;
                        Paragraph sinM = new Paragraph(sinDM, normalFont);
                        ficha.add(sinM);
                    }
                    String lugarM = "Lugar de nacimiento: ";
                    if(!ninio.getMadre().getLugarNac().equals("")){
                        lugarM = lugarM+ ninio.getMadre().getLugarNac();
                    }else{
                        lugarM = lugarM+sinD;
                    }
                    Paragraph lugarNacM = new Paragraph(lugarM, normalFont);
                    ficha.add(lugarNacM);
                    String cedulaM = "Cedula de identidad: ";
                    if(!ninio.getMadre().getCedulaId().equals("")){
                        cedulaM = cedulaM+ ninio.getMadre().getCedulaId();
                    }else{
                        cedulaM = cedulaM+sinD;
                    }
                    Paragraph cedulaIdM = new Paragraph(cedulaM, normalFont);
                    ficha.add(cedulaIdM);
                }else{
                    String sinDM = "Sin datos";
                    Paragraph sinM = new Paragraph(sinDM, sinDatosFont);
                    ficha.add(sinM);
                }
                agregarLineaEnBlanco(ficha, 2);
                
                Paragraph tituloP = new Paragraph("Datos del padre", subCapituloFont);
                tituloP.setAlignment(Element.ALIGN_CENTER);
		ficha.add(tituloP);
                agregarLineaEnBlanco(ficha, 1);
                if(ninio.getPadre() != null){
                    String nombP = "Nombre: ";
                    if(!ninio.getPadre().toString().equals("")){
                        nombP = nombP+ ninio.getPadre().toString();
                    }else{
                        nombP = nombP+sinD;
                    }
                    Paragraph nombreP = new Paragraph(nombP, normalFont);
                    ficha.add(nombreP);
                    if(ninio.getPadre().getFechaNac() != null){
                        Date fechaP = ninio.getPadre().getFechaNac();
                        String fechaNacP = "Fecha nacimiento: "+ formatoFecha.format(fechaP);
                        Paragraph fechaNacimientoP = new Paragraph(fechaNacP, normalFont);
                        ficha.add(fechaNacimientoP);
                    }else{
                        String sinDP = "Fecha de nacimiento: ";
                        Paragraph sinP = new Paragraph(sinDP, capituloFont);
                        ficha.add(sinP);
                    }
                    String lugarP = "Lugar de nacimiento: ";
                    if(!ninio.getPadre().getLugarNac().equals("")){
                        lugarP = lugarP+ ninio.getPadre().getLugarNac();
                    }else{
                        lugarP = lugarP+sinD;
                    }
                    Paragraph lugarNacP = new Paragraph(lugarP, normalFont);
                    ficha.add(lugarNacP);
                    String cedulaP = "Cedúla de identidad: ";
                    if(!ninio.getPadre().getCedulaId().equals("")){
                        cedulaP = cedulaP+ ninio.getPadre().getCedulaId();
                    }else{
                        cedulaP = cedulaP+sinD;
                    }
                    Paragraph cedulaIdP = new Paragraph(cedulaP, normalFont);
                    ficha.add(cedulaIdP);
                }else{
                    String sinDP = "Sin datos ";
                    Paragraph sinP = new Paragraph(sinDP, sinDatosFont);
                    ficha.add(sinP);
                }
                agregarLineaEnBlanco(ficha, 2);
                
                Paragraph tituloT = new Paragraph("Datos del Tutor", subCapituloFont);
                tituloT.setAlignment(Element.ALIGN_CENTER);
		ficha.add(tituloT);
                agregarLineaEnBlanco(ficha, 1);
                if(ninio.getTutor() != null){
                    String nombT = "Nombre: ";
                    if(!ninio.getTutor().toString().equals("")){
                        nombT = nombT+ ninio.getTutor().toString();
                    }else{
                        nombT = nombT+sinD;
                    }
                    Paragraph nombreT = new Paragraph(nombT, normalFont);
                    ficha.add(nombreT);
                    if(ninio.getTutor().getFechaNac() != null){
                    Date fechaT = ninio.getTutor().getFechaNac();
                    String fechaNacT = "Fecha nacimiento: "+ formatoFecha.format(fechaT);
                    Paragraph fechaNacimientoT = new Paragraph(fechaNacT, normalFont);
                    ficha.add(fechaNacimientoT);
                    }else{
                        String sinDT = "Fecha de nacimiento: ";
                        Paragraph sinT = new Paragraph(sinDT, capituloFont);
                        ficha.add(sinT);
                    }
                    String lugarT = "Lugar de nacimiento: ";
                    if(!ninio.getTutor().getLugarNac().equals("")){
                        lugarT = lugarT+ ninio.getTutor().getLugarNac();
                    }else{
                        lugarT = lugarT+sinD;
                    }
                    Paragraph lugarNacT = new Paragraph(lugarT, normalFont);
                    ficha.add(lugarNacT);
                    String cedulaT = "Cedula de identidad: ";
                    if(!ninio.getTutor().getCedulaId().equals("")){
                        cedulaT = cedulaT+ ninio.getTutor().getLugarNac();
                    }else{
                        cedulaT = cedulaT+sinD;
                    }
                    Paragraph cedulaIdT = new Paragraph(cedulaT, normalFont);
                    ficha.add(cedulaIdT);
                }else{
                    String sinDT = "Sin datos";
                    Paragraph sinT = new Paragraph(sinDT, sinDatosFont);
                    ficha.add(sinT);
                }
                // Se le da una alineación al parrafo
                ficha.setAlignment(Element.ALIGN_LEFT);
                ficha.setIndentationLeft(50);
                // Se crea un capitulo y se le agrega el parrafo
                Chapter chap= new Chapter(ficha, 1);
                // Se agrega el capitulo al documento
                document.add(chap);
                document.newPage();

	}

        private void cargarDatosEmbarazo(Document document) throws DocumentException {
   
            Anchor anchor = new Anchor("EMBARAZO", capituloFont);
            anchor.setLeading(15);
            anchor.setName("Embarazo");
            
            // Se crea un parrafo que contenga los datos 
            Paragraph embarazo = new Paragraph(anchor);
            agregarLineaEnBlanco(embarazo, 2);
            
            String sinD = "Sin datos";
            // Se crea los datos y se los agrega al parrafo 
            String num = "Número de embarazo: ";
            if(ninio.getCarne().getEmbarazo().getNumero() != 0){
                num = num+ ninio.getCarne().getEmbarazo().getNumero();
            }else{
                num = num+sinD;
            }
            Paragraph numero = new Paragraph(num, normalFont);
            embarazo.add(numero);
            String numCon = "Número de controles prenatales: ";
            if(ninio.getCarne().getEmbarazo().getCantControles() != -1){
                numCon = numCon+ ninio.getCarne().getEmbarazo().getCantControles();
            }else{
                numCon = numCon+sinD;
            }
            Paragraph numeroControles = new Paragraph(numCon, normalFont);
            embarazo.add(numeroControles);
            
            String unic = "Embrazo multiple: ";
            if(ninio.getCarne().getEmbarazo().isUnico() || ninio.getCarne().getEmbarazo().isMultiple()){
                String datoE = "";
                if(ninio.getCarne().getEmbarazo().isUnico()) datoE = "No";
                if(ninio.getCarne().getEmbarazo().isMultiple()) datoE = "Si";
                unic = unic+ datoE;
            }else{
                unic = unic+sinD;
            }
            Paragraph unico = new Paragraph(unic, normalFont);
            embarazo.add(unico);
            
            String v = "VDRL: ";
            if(ninio.getCarne().getEmbarazo().isVdrlMenos() || ninio.getCarne().getEmbarazo().isVdrlMas()){
                String datoV = "";
                if(ninio.getCarne().getEmbarazo().isVdrlMenos()) datoV = "Negativo";
                if(ninio.getCarne().getEmbarazo().isVdrlMas()) datoV = "Positivo";
                if(!ninio.getCarne().getEmbarazo().getTratamiento().equals("")){
                    String trat = "Tratamiento: "+ ninio.getCarne().getEmbarazo().getTratamiento();
                    v = v+datoV+"          "+trat;
                }else{
                    v = v+datoV;
                }
            }else{
                v = v+sinD;
            }
            Paragraph vdrl = new Paragraph(v, normalFont);
            embarazo.add(vdrl);
            
            String grupo = "Grupo sanguíneo: ";
            if(!ninio.getCarne().getEmbarazo().getGrupoSanguineo().equals("")){
                grupo = grupo+ ninio.getCarne().getEmbarazo().getGrupoSanguineo();
            }else{
                grupo = grupo+sinD;
            }
            Paragraph grupoSangineo = new Paragraph(grupo, normalFont);
            embarazo.add(grupoSangineo);
            
            String tipo = "RH: ";
            if(ninio.getCarne().getEmbarazo().isRhNeg() || ninio.getCarne().getEmbarazo().isRhPos()){
                String rh= "";
                if(ninio.getCarne().getEmbarazo().isRhNeg()) rh = "Negativo";
                if(ninio.getCarne().getEmbarazo().isRhPos()) rh = "Positivo";
                tipo= tipo+rh;
            }else{
                tipo = tipo+sinD;
            }
            Paragraph tipoSangineo = new Paragraph(tipo, normalFont);
            embarazo.add(tipoSangineo);
            
            String part = "Parto: ";
            if(ninio.getCarne().getEmbarazo().isEspontaneo() || ninio.getCarne().getEmbarazo().isForceps()
                    || ninio.getCarne().getEmbarazo().isCesarea()){
                String p = "";
                if(ninio.getCarne().getEmbarazo().isEspontaneo()) p = "Espontáneo";
                if(ninio.getCarne().getEmbarazo().isForceps()) p = "Fórceps";
                if(ninio.getCarne().getEmbarazo().isCesarea()) p = "Cesárea";
                part = part+ p;
            }else{
                part = part+sinD;
            }
            Paragraph parto = new Paragraph(part, normalFont);
            embarazo.add(parto);
            
            String loc = "Locación del parto: ";
            if(ninio.getCarne().getEmbarazo().isInstitucional() || ninio.getCarne().getEmbarazo().isEnDomicilio()){
                String l = "";
                if(ninio.getCarne().getEmbarazo().isInstitucional()) l = "En institución de salud";
                if(ninio.getCarne().getEmbarazo().isEnDomicilio()) l = "En domicilio/Otro";
                loc = loc+ l;
            }
            else{
                loc = loc+sinD;
            }
            Paragraph locacion = new Paragraph(loc, normalFont);
            embarazo.add(locacion);
            
            String patEmb = "Patología en embarazo: ";
            if(ninio.getCarne().getEmbarazo().isPatEmbarazoNo() || ninio.getCarne().getEmbarazo().isPatEmbarazoSi()){
                String pe = "";
                if(ninio.getCarne().getEmbarazo().isVdrlMenos()) pe = "Negativo";
                if(ninio.getCarne().getEmbarazo().isVdrlMas()) pe = "Positivo";
                if(!ninio.getCarne().getEmbarazo().getPatologiaEmbarazo().equals("")){
                    String patE = ninio.getCarne().getEmbarazo().getPatologiaEmbarazo();
                    patEmb = patEmb+pe+"          Cual: "+patE;
                }else{
                    patEmb = patEmb+pe;
                }
            }else{
                patEmb = patEmb+sinD;
            }
            Paragraph patologiaE = new Paragraph(patEmb, normalFont);
            embarazo.add(patologiaE);
            
            String patPar = "Patología en parto: ";
            if(ninio.getCarne().getEmbarazo().isPatPartoNo() || ninio.getCarne().getEmbarazo().isPatPartoSi()){
                String pp = "";
                if(ninio.getCarne().getEmbarazo().isPatPartoNo()) pp = "Negativo";
                if(ninio.getCarne().getEmbarazo().isPatPartoSi()) pp = "Positivo";
                if(!ninio.getCarne().getEmbarazo().getPatologiaParto().equals("")){
                    String patP = ninio.getCarne().getEmbarazo().getPatologiaParto();
                    patPar = patPar+pp+"          Cual: "+patP;
                }else{
                    patPar = patPar+pp;
                }
            }else{
                patPar = patPar+sinD;
            }
            Paragraph patologiaP = new Paragraph(patPar, normalFont);
            embarazo.add(patologiaP);
            
            String patPuer = "Patología en puerperio: ";
            if(ninio.getCarne().getEmbarazo().isPatPuerperioNo() || ninio.getCarne().getEmbarazo().isPatPuerperioSi()){
                String pu = "";
                if(ninio.getCarne().getEmbarazo().isPatPuerperioNo()) pu = "No";
                if(ninio.getCarne().getEmbarazo().isPatPuerperioSi()) pu = "Si";
                if(!ninio.getCarne().getEmbarazo().getPatologiaPuerperio().equals("")){
                    String patPu = ninio.getCarne().getEmbarazo().getPatologiaPuerperio();
                    patPuer = patPuer+pu+"          Cual: "+patPu;
                }else{
                    patPuer = patPuer+pu;
                }
            }else{
                patPuer = patPuer+sinD;
            }
            Paragraph patologiaPuer = new Paragraph(patPuer, normalFont);
            embarazo.add(patologiaPuer);
            
            embarazo.setAlignment(Element.ALIGN_LEFT);
            embarazo.setIndentationLeft(50);
            Chapter chap= new Chapter(embarazo, 2);
            document.add(chap);
        
        }
        
        private void cargarParto(Document document) throws DocumentException {
		
                RecienNacido recien = ninio.getCarne().getRecienNacido();
                
                Anchor anchor = new Anchor("RECIEN NACIDO", capituloFont);
                anchor.setLeading(15);
		anchor.setName("Recien nacido");
                
                // Se crea un parrafo que contenga los datos 
                Paragraph parto = new Paragraph(anchor);
                agregarLineaEnBlanco(parto, 2);
                
                String sinDatos = "Sin datos";
                
                String peso = "Peso: ";
                    if (recien.getPeso()==0)
                        peso = peso + sinDatos;
                    else
                        peso = peso + recien.getPeso() + "gr.";
		Paragraph pesoRn = new Paragraph(peso, normalFont);
                parto.add(pesoRn);
                
                String talla = "Talla: ";
                    if (recien.getTalla()==0)
                        talla = talla + sinDatos;
                    else
                        talla = talla + recien.getTalla() + "cm.";
                Paragraph tallaRn = new Paragraph(talla, normalFont);
                parto.add(tallaRn);
                
                String perimCef = "Perímetro cefálico: ";
                    if (recien.getPerimCefalico()==0)
                        perimCef = perimCef + sinDatos;
                    else
                        perimCef = perimCef + recien.getPerimCefalico() + "cm.";
                Paragraph perimCefRn = new Paragraph(perimCef, normalFont);
                parto.add(perimCefRn);
                
                String edadGest = "Edad gestacional: ";
                    if (recien.getEdadGest()==0)
                        edadGest = edadGest + sinDatos;
                    else
                        edadGest = edadGest + recien.getEdadGest() + " semanas";
                Paragraph edadGestRn = new Paragraph(edadGest, normalFont);
                parto.add(edadGestRn);
                
                String apgar = "Apgar 1°: ";
                if (recien.getApgar1()==0)
                    apgar = apgar + sinDatos;
                else
                    apgar = apgar + recien.getApgar1();
                apgar = apgar + "   5°: ";
                if (recien.getApgar5()==0)
                    apgar = apgar + sinDatos;
                else
                    apgar = apgar + recien.getApgar5();
                Paragraph apgarRn = new Paragraph(apgar, normalFont);
                parto.add(apgarRn);
                
                String reanima = "Reanimación: ";
                if (!recien.isReanimacionPos() && !recien.isReanimacionNeg())
                    reanima = reanima + sinDatos;
                if (recien.isReanimacionPos())
                    reanima = reanima + " Si";
                if (recien.isReanimacionNeg())
                    reanima = reanima + " No";
                Paragraph reanimaRn = new Paragraph(reanima, normalFont);
                parto.add(reanimaRn);
                
                String grupo = "Grupo Sanguíneo: ";
                if (recien.getGrupo().equals(" "))
                    grupo = grupo + sinDatos;
                else
                    grupo = grupo + recien.getGrupo();
                Paragraph grupoRn = new Paragraph(grupo, normalFont);
                parto.add(grupoRn);
                
                String rh = "RH: ";
                if (!recien.isRhMas() && !recien.isRhMenos())
                    rh = rh + sinDatos;
                if (recien.isRhMas())
                    rh = rh + " positivo";
                if (recien.isRhMenos())
                    rh = rh + " negativo";
                Paragraph rhRn = new Paragraph(rh, normalFont);
                parto.add(rhRn);
                
                String coombs = "COOMBS: ";
                if (!recien.isCoombsPos() && !recien.isCoombsNeg())
                    coombs = coombs + sinDatos;
                if (recien.isCoombsPos())
                    coombs = coombs + " positivo";
                if (recien.isCoombsNeg())
                    coombs = coombs + " negativo";
                Paragraph coombsRn = new Paragraph(coombs, normalFont);
                parto.add(coombsRn);
                
                String vdrl = "VDRL: ";
                if (!recien.isVdrlPos() && !recien.isVdrlNeg())
                    vdrl = vdrl + sinDatos;
                if (recien.isVdrlPos())
                    vdrl = vdrl + " positivo";
                if (recien.isVdrlNeg())
                    vdrl = vdrl + " negativo";
                Paragraph vdrlRn = new Paragraph(vdrl, normalFont);
                parto.add(vdrlRn);
                agregarLineaEnBlanco(parto, 2);
                
                String pesquisa = "Pesquisa neonatal";
                Paragraph pesquisaRn = new Paragraph(pesquisa, subCapituloFont);
                parto.add(pesquisaRn);
                agregarLineaEnBlanco(parto, 1);
                                
                String tsh = "TSH: ";
                if (recien.getTsh()==0)
                    tsh = tsh + sinDatos;
                else
                    tsh = tsh + recien.getTsh() + "mUL/L";
		Paragraph tshRn = new Paragraph(tsh, normalFont);
                parto.add(tshRn);
                
                String fenil = "Fenilalanina: ";
                if (recien.getFenilalanina()==0)
                    fenil = fenil + sinDatos;
                else
                    fenil = fenil + recien.getFenilalanina() + "mg/dL";
		Paragraph fenilRn = new Paragraph(fenil, normalFont);
                parto.add(fenilRn);
                
                String ohp = "OHP-17: ";
                if (recien.getOhp17()==0)
                    ohp = ohp + sinDatos;
                else
                    ohp = ohp + recien.getOhp17() + "ng/dL";
		Paragraph ohpRn = new Paragraph(ohp, normalFont);
                parto.add(ohpRn);
                
                String audi = "Auditivo: ";
                if (!recien.isAuditivoPos()&&!recien.isAuditivoNeg())
                    audi = audi + sinDatos;
                if (recien.isAuditivoPos())
                    audi = audi + " Si";
                if (recien.isAuditivoNeg())
                    audi = audi + "No";
                Paragraph audiRn = new Paragraph(audi, normalFont);
                parto.add(audiRn);
                
                String otras = "Otras: ";
                if (recien.getOtras().equals(""))
                    otras = otras + sinDatos;
                else
                    otras = otras + recien.getOtras();
		Paragraph otrasRn = new Paragraph(otras, normalFont);
                parto.add(otrasRn);
                
                String anomalia = "Anomalías y malformaciones: ";
                if (recien.getAnomalias().equals(""))
                    anomalia = anomalia + sinDatos;
                else
                    anomalia = anomalia + recien.getAnomalias();
		Paragraph anomaliaRn = new Paragraph(anomalia, normalFont);
                parto.add(anomaliaRn);
                
                String patologia = "Patología: ";
                if (recien.getPatologia().equals(""))
                    patologia = patologia + sinDatos;
                else
                    patologia = patologia + recien.getPatologia();
		Paragraph patologiaRn = new Paragraph(patologia, normalFont);
                parto.add(patologiaRn);
                
                String pesoEg = "Peso egreso: ";
                if (recien.getPesoEgreso()==0)
                    pesoEg = pesoEg + sinDatos;
                else
                    pesoEg = pesoEg + recien.getPesoEgreso() + "gr.";
		Paragraph pesoEgRn = new Paragraph(pesoEg, normalFont);
                parto.add(pesoEgRn);
                agregarLineaEnBlanco(parto, 2);
                
                String alimenta = "Alimentación al alta";
                Paragraph alimentaRn = new Paragraph(alimenta, subCapituloFont);
                parto.add(alimentaRn);
                agregarLineaEnBlanco(parto, 1);
                                
                String alimentacion = "";
                if (!recien.isLactanciaExc()&&!recien.isArtificial()&&!recien.isMixta())
                    alimentacion = alimentacion + sinDatos;
                if (recien.isLactanciaExc())
                    alimentacion = alimentacion + "Lactancia exclusiva";
                if (recien.isArtificial())
                    alimentacion = alimentacion + "Artificial";
                if (recien.isMixta())
                    alimentacion = alimentacion + "Mixta";
                Paragraph alimentacionRn = new Paragraph(alimentacion, normalFont);
                parto.add(alimentacionRn);
                agregarLineaEnBlanco(parto, 1);
                
                String fechaEg = "Fecha de egreso: ";
                if(recien.getFechaEgreso() != null){
                    SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                    fechaEg = fechaEg+ formatoFecha.format(recien.getFechaEgreso());
                }
                else
                    fechaEg = fechaEg + sinDatos;
                Paragraph fechaEgRn = new Paragraph(fechaEg, normalFont);
                parto.add(fechaEgRn);
                               
                parto.setAlignment(Element.ALIGN_LEFT);
                parto.setIndentationLeft(50);
                Chapter chap= new Chapter(parto, 3);
                document.add(chap);
                document.newPage();
	}
        
        private void telefonos(Document document) throws DocumentException {
		Anchor anchor = new Anchor("TELEFONOS IMPORTANTES", capituloFont);
                anchor.setLeading(20);
		anchor.setName("Telefonos importantes");
                
                Paragraph tel = new Paragraph(anchor);
                
                /*Paragraph titulo = new Paragraph(anchor);
                titulo.setAlignment(Element.ALIGN_CENTER);
		tel.add(titulo);*/
                agregarLineaEnBlanco(tel, 2);
                
                Paragraph eme = new Paragraph("- Emergencias 911", subCapituloFont);
                tel.add(eme);
                Paragraph intox = new Paragraph("- Intoxicaciones (CIAT) 1722", subCapituloFont);
                tel.add(intox);
                Paragraph azul = new Paragraph("- Línea azul (INAU) 08005050", subCapituloFont);
                tel.add(azul);
                Paragraph bomberos = new Paragraph("- Bomberos 104", subCapituloFont);
                tel.add(bomberos);
                Paragraph jefatura = new Paragraph("- Jefatura 1909", subCapituloFont);
                tel.add(jefatura);
                Paragraph apoyo = new Paragraph("- Apoyo a la mujer víctima de la violencia 08004141", subCapituloFont);
                tel.add(apoyo);
                agregarLineaEnBlanco(tel, 1);
                
                Paragraph otros = new Paragraph("Otros teléfonos importantes", subCapituloFont);
                tel.add(otros);
                String uno = ninio.getCarne().getTelefImportantes()[0];
                String dos = ninio.getCarne().getTelefImportantes()[1];
                String tres = ninio.getCarne().getTelefImportantes()[2];
                String cuatro = ninio.getCarne().getTelefImportantes()[3];
                String cinco = ninio.getCarne().getTelefImportantes()[4];
                if(uno.equals("")&&dos.equals("")&&tres.equals("")&&cuatro.equals("")&&cinco.equals("")){
                    Paragraph sinT = new Paragraph("- Sin datos", subCapituloFont);
                    tel.add(sinT);
                }
                if(!uno.equals("")){
                    Paragraph unT = new Paragraph("- " + uno, subCapituloFont);
                    tel.add(unT);
                }
                if(!dos.equals("")){
                    Paragraph dosT = new Paragraph("- " + dos, subCapituloFont);
                    tel.add(dosT);
                }
                if(!tres.equals("")){
                    Paragraph tresT = new Paragraph("- " + tres, subCapituloFont);
                    tel.add(tresT);
                }
                if(!cuatro.equals("")){
                    Paragraph cuatroT = new Paragraph("- " + cuatro, subCapituloFont);
                    tel.add(cuatroT);
                }
                if(!cinco.equals("")){
                    Paragraph cincoT = new Paragraph("- " + cinco, subCapituloFont);
                    tel.add(cincoT);
                }
                tel.setAlignment(Element.ALIGN_LEFT);
                tel.setIndentationLeft(50);
                Chapter chap = new Chapter(tel, 14);
                document.add(chap);
                
        }

        private void aptitudFisica (Document document) throws DocumentException{
            Anchor anchorAp = new Anchor("APTITUD FISICA", capituloFont);
            anchorAp.setLeading(15);
            anchorAp.setName("APTITUD FISICA");
            Paragraph apt = new Paragraph(anchorAp);
            agregarLineaEnBlanco(apt, 1);
            ArrayList<AptitudFisica> lista = ninio.getCarne().getAptitudFisica();
            if(!lista.isEmpty()){
                PdfPTable tabla = new PdfPTable (new float [] {1.1f, 1.5f, 0.6f, 2.3f, 1.2f, 1.7f});
                tabla.setWidthPercentage (90.0f);
                PdfPCell c1 = new PdfPCell(new Phrase("Fecha", chicaFont));
                c1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c1);
                PdfPCell c2 = new PdfPCell(new Phrase("Edad", chicaFont));
                c2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c2);
                PdfPCell c3 = new PdfPCell(new Phrase("Apto", chicaFont));
                c3.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c3);
                PdfPCell c4 = new PdfPCell(new Phrase("Observaciones", chicaFont));
                c4.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c4);
                PdfPCell c5 = new PdfPCell(new Phrase("Valido Hasta", chicaFont));
                c5.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c5);
                PdfPCell c6 = new PdfPCell(new Phrase("Medico", chicaFont));
                c6.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c6);

                SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                for(int i = 0; i<lista.size()&&i<=15; i++){
                    PdfPCell a1 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getFecha()),chicaFont));
                    a1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a1);
                    PdfPCell a2 = new PdfPCell(new Phrase(funcAux.muestraEdad(lista.get(i).getEdad()),chicaFont));
                    tabla.addCell(a2);
                    PdfPCell a3 = new PdfPCell(new Phrase("Si",chicaFont));
                    a3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a3);
                    PdfPCell a4 = new PdfPCell(new Phrase(lista.get(i).getObservaciones(),chicaFont));
                    tabla.addCell(a4);
                    PdfPCell a5 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getHasta()),chicaFont));
                    a5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a5);
                    PdfPCell a6 = new PdfPCell(new Phrase(lista.get(i).getPediatra().toString(),chicaFont));
                    tabla.addCell(a6);
                }
                apt.add(tabla);
                agregarLineaEnBlanco(apt, 1);

                Paragraph nota = new Paragraph("Por razones de espacio, se muestran hasta 15 controles", normalFont);
                apt.add(nota);
                Paragraph nota2 = new Paragraph("Para ver la lista completa de controles acceda a la versión digital del carne", normalFont);
                apt.add(nota2);
            }else{
                agregarLineaEnBlanco(apt, 1);
                Paragraph nota = new Paragraph("No se han anotado controles de aptitud fisíca", sinDatosFont);
                apt.add(nota);
            }
            apt.setAlignment(Element.ALIGN_LEFT);
            apt.setIndentationLeft(50);
            
            Chapter chap= new Chapter(apt, 12);
            document.add(chap);
            document.newPage();
        }
        
        public void cargarVacunas(Document document)throws DocumentException{
        
            Anchor anchor = new Anchor("VACUNAS", capituloFont);
            anchor.setLeading(20);
            anchor.setName("Vacunas");
            
            Paragraph vacunas = new Paragraph(anchor);
            agregarLineaEnBlanco(vacunas, 2);
            
            Paragraph subTitulo1 = new Paragraph("Lista de vacunas obligatorias", subCapituloFont);
            vacunas.add(subTitulo1);
            agregarLineaEnBlanco(vacunas, 1);
            
            // Vacunas Obligatorias
            String bcg = "- BCG recien nacido: ";
            String vac0= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[0]){
                vac0= "Si";
                bcg = bcg+vac0;
            }else{
                bcg = bcg+vac0;
            }
            Paragraph vacunaBcg = new Paragraph(bcg, normalFont);
            vacunas.add(vacunaBcg);
            
            String pent = "- Pentavalente     2 meses: ";
            String vac1= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[1]){
                vac1= "Si";
                pent = pent+vac1;
                vac1= "-";
            }else{
                pent = pent+vac1;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[2]){
                vac1= "Si";
                pent = pent+"    4 meses: "+vac1;
                vac1= "-";
            }else{
                pent = pent+"    4 meses: "+vac1;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[3]){
                vac1= "Si";
                pent = pent+"    6 meses: "+vac1;
                vac1= "-";
            }else{
                pent = pent+"    6 meses: "+vac1;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[4]){
                vac1= "Si";
                pent = pent+"    15 meses: "+vac1;
                vac1= "-";
            }else{
                pent = pent+"    15 meses: "+vac1;
            }
            Paragraph vacunaPent = new Paragraph(pent, normalFont);
            vacunas.add(vacunaPent);
            
            String trip = "- Triple bacteriana     5 años: ";
            String vac5= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[5]){
                vac5= "Si";
                trip = trip+vac5;
            }else{
                trip = trip+vac5;
            }
            Paragraph vacunaTripleB = new Paragraph(trip, normalFont);
            vacunas.add(vacunaTripleB);
            
            String polio = "- Polio OPV     2 meses: ";
            String vac6= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[6]){
                vac6= "Si";
                polio = polio+vac6;
                vac6= "-";
            }else{
                polio = polio+vac6;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[7]){
                vac6= "Si";
                polio = polio+"    4 meses: "+vac6;
                vac6= "-";
            }else{
                polio = polio+"    4 meses: "+vac6;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[8]){
                vac6= "Si";
                polio = polio+"   6 meses: "+vac6;
                vac6= "-";
            }else{
                polio = polio+"    6 meses: "+vac6;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[9]){
                vac6= "Si";
                polio = polio+"    12 meses: "+vac6;
                vac6= "-";
            }else{
                polio = polio+"    12 meses: "+vac6;
            }
            Paragraph vacunaPolio = new Paragraph(polio, normalFont);
            vacunas.add(vacunaPolio);
            
            String neumo = "- Neumococo C 7 V     2 meses: ";
            String vac10= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[10]){
                vac10= "Si";
                neumo = neumo+vac10;
                vac10= "-";
            }else{
                neumo = neumo+vac10;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[11]){
                vac10= "Si";
                neumo = neumo+"    4 meses: "+vac10;
                vac10= "-";
            }else{
                neumo = neumo+"    4 meses: "+vac10;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[12]){
                vac10= "Si";
                neumo = neumo+"    12 meses: "+vac10;
                vac10= "-";
            }else{
                neumo = neumo+"    12 meses: "+vac10;
            }
            Paragraph vacunaNeumo = new Paragraph(neumo, normalFont);
            vacunas.add(vacunaNeumo);
            
            String triple = "- Triple viral     12 meses: ";
            String vac13= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[13]){
                vac13= "Si";
                triple = triple+vac13;
                vac13= "-";
            }else{
                triple = triple+vac13;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[14]){
                vac13= "Si";
                triple = triple+"    5 años: "+vac13;
                vac13= "-";
            }else{
                triple = triple+"    5 años: "+vac13;
            }
            Paragraph vacunaTripleV = new Paragraph(triple, normalFont);
            vacunas.add(vacunaTripleV);
            
            String vari = "- Varicela     12 meses: ";
            String vac15= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[15]){
                vac15= "Si";
                vari = vari+vac15;
                vac15= "-";
            }else{
                vari = vari+vac15;
            }
            Paragraph vacunaVaricela = new Paragraph(vari, normalFont);
            vacunas.add(vacunaVaricela);
            
            String hepA = "- Hepatitis A    15 meses: ";
            String vac16= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[16]){
                vac16= "Si";
                hepA = hepA+vac16;
                vac16= "-";
            }else{
                hepA = hepA+vac16;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[17]){
                vac16= "Si";
                hepA = hepA+"    21 meses: "+vac16;
                vac16= "-";
            }else{
                hepA = hepA+"    21 meses: "+vac16;
            }
            Paragraph vacunaHepatitisA = new Paragraph(hepA, normalFont);
            vacunas.add(vacunaHepatitisA);
            
            String doble = "- Doble bacteriana     12 años: ";
            String vac18= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[18]){
                vac18= "Si";
                doble = doble+vac18;
                vac18= "-";
            }else{
                doble = doble+vac18;
            }
            if(ninio.getCarne().getVacunas().getVacunasObli()[19]){
                vac18= "Si";
                doble = doble+"    c/10 años: "+vac18;
                vac18= "-";
            }else{
                doble = doble+"    c/10 años: "+vac18;
            }
            Paragraph vacunaBobleB = new Paragraph(doble, normalFont);
            vacunas.add(vacunaBobleB);
            
            String hepB = "- Hepatitis B   12 años: ";
            String vac20= "-";
            if(ninio.getCarne().getVacunas().getVacunasObli()[18]){
                vac20= "Si";
                hepB = hepB+vac20;
                vac20= "-";
            }else{
                hepB = hepB+vac20;
            }
            Paragraph vacunaHepatitisB = new Paragraph(hepB, normalFont);
            vacunas.add(vacunaHepatitisB);
            agregarLineaEnBlanco(vacunas, 2);
            
            Paragraph subTitulo2 = new Paragraph("Otras Vacunas", subCapituloFont);
            vacunas.add(subTitulo2);
            agregarLineaEnBlanco(vacunas, 1);
            
            // Vacunas no sistematicas
            // Crea tabla para desplegar los datos
            PdfPTable tabla = new PdfPTable (new float [] {2.5f, 1.5f, 1.5f});
            tabla.setWidthPercentage (90.0f);
            PdfPCell c1 = new PdfPCell(new Phrase("Vacunas no sistemáticas", chicaFont));
            c1.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(c1);
            PdfPCell c2 = new PdfPCell(new Phrase("Fecha", chicaFont));
            c2.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(c2);
            PdfPCell c3 = new PdfPCell(new Phrase("Edad", chicaFont));
            c3.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(c3);
            
            SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
            Vacunas vac = ninio.getCarne().getVacunas();
            // Se cargan los datos
            PdfPCell a1 = new PdfPCell(new Phrase("Antigripal",chicaFont));
            tabla.addCell(a1);
            Phrase frase1;
            if(vac.getFechaAntigripal() != null){
                frase1 = new Phrase(formatoFecha.format(vac.getFechaAntigripal()),chicaFont);
            }else{
                frase1 = new Phrase(new Phrase("Sin datos",chicaFont));
            }
            PdfPCell a2 = new PdfPCell(frase1);
            a2.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(a2);
            PdfPCell a3 = new PdfPCell(new Phrase(funcAux.muestraEdad(vac.getEdadAntigripal()),chicaFont));
            tabla.addCell(a3);
            PdfPCell a4 = new PdfPCell(new Phrase("Anti - Meningococo B",chicaFont));
            tabla.addCell(a4);
            Phrase frase2;
            if(vac.getFechaAntiMeningB() != null){
                frase2 = new Phrase(formatoFecha.format(vac.getFechaAntiMeningB()),chicaFont);
            }else{
                frase2 = new Phrase(new Phrase("Sin datos",chicaFont));
            }
            PdfPCell a5 = new PdfPCell(frase2);
            a5.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(a5);
            PdfPCell a6 = new PdfPCell(new Phrase(funcAux.muestraEdad(vac.getEdadAntiMeningB()),chicaFont));
            tabla.addCell(a6);
            PdfPCell a7 = new PdfPCell(new Phrase("Otras",chicaFont));
            tabla.addCell(a7);
            Phrase frase3;
            if(vac.getFechaOtras() != null){
                frase3 = new Phrase(formatoFecha.format(vac.getFechaOtras()),chicaFont);
            }else{
                frase3 = new Phrase(new Phrase("Sin datos",chicaFont));
            }
            PdfPCell a8 = new PdfPCell(frase3);
            a8.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(a8);
            PdfPCell a9 = new PdfPCell(new Phrase(funcAux.muestraEdad(vac.getEdadOtras()),chicaFont));
            tabla.addCell(a9);
            tabla.setHorizontalAlignment(0);
            vacunas.add(tabla);
            
            vacunas.setAlignment(Element.ALIGN_LEFT);
            vacunas.setIndentationLeft(50);
            Chapter chap= new Chapter(vacunas, 4);
            document.add(chap);
            document.newPage();
        }
        
        public void cargarSaludBucal(Document document)throws DocumentException{
        
            Anchor anchor = new Anchor("SALUD BUCAL", capituloFont);
            anchor.setLeading(15);
            anchor.setName("Salud vucal");
            
            Paragraph saludBucal = new Paragraph(anchor);
            agregarLineaEnBlanco(saludBucal, 2);
            
            String[] salBuc = ninio.getCarne().getSaludBucal();
            if(!salBuc[0].equals("") && !salBuc[0].equals("") && !salBuc[0].equals("")
                    && !salBuc[0].equals("") && !salBuc[0].equals("") && !salBuc[0].equals("")
                            && !salBuc[0].equals("") && !salBuc[0].equals("") && !salBuc[0].equals("")){
            // Se crea una tabla para los datos
            PdfPTable tabla = new PdfPTable (new float [] {1.5f, 2.0f, 2.0f, 2.0f});
            tabla.setWidthPercentage (90.0f);
            PdfPCell c1 = new PdfPCell(new Phrase("Edad (años)", chicaFont));
            c1.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(c1);
            PdfPCell c2 = new PdfPCell(new Phrase("Enfermedad caries", chicaFont));
            c2.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(c2);
            PdfPCell c3 = new PdfPCell(new Phrase("Pérdidas dentarias", chicaFont));
            c3.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(c3);
            PdfPCell c4 = new PdfPCell(new Phrase("Gingivitis u otras", chicaFont));
            c4.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(c4);
            // Se cargan los datos
            PdfPCell a1 = new PdfPCell(new Phrase("6",chicaFont));
            a1.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(a1);
            PdfPCell a2 = new PdfPCell(new Phrase(salBuc[0],chicaFont));
            tabla.addCell(a2);
            PdfPCell a3 = new PdfPCell(new Phrase(salBuc[1],chicaFont));
            tabla.addCell(a3);
            PdfPCell a4 = new PdfPCell(new Phrase(salBuc[2],chicaFont));
            tabla.addCell(a4);
            PdfPCell a5 = new PdfPCell(new Phrase("9",chicaFont));
            a5.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(a5);
            PdfPCell a6 = new PdfPCell(new Phrase(salBuc[3],chicaFont));
            tabla.addCell(a6);
            PdfPCell a7 = new PdfPCell(new Phrase(salBuc[4],chicaFont));
            tabla.addCell(a7);
            PdfPCell a8 = new PdfPCell(new Phrase(salBuc[5],chicaFont));
            tabla.addCell(a8);
            PdfPCell a9 = new PdfPCell(new Phrase("12",chicaFont));
            a9.setHorizontalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(a9);
            PdfPCell a10 = new PdfPCell(new Phrase(salBuc[6],chicaFont));
            tabla.addCell(a10);
            PdfPCell a11 = new PdfPCell(new Phrase(salBuc[7],chicaFont));
            tabla.addCell(a11);
            PdfPCell a12 = new PdfPCell(new Phrase(salBuc[8],chicaFont));
            tabla.addCell(a12);
            tabla.setHorizontalAlignment(0);
            saludBucal.add(tabla);
            }else{
                Paragraph sinDatos = new Paragraph("No se han anotado controles de salud bucal", sinDatosFont);
                saludBucal.add(sinDatos);
                agregarLineaEnBlanco(saludBucal, 2);
            }
            
            saludBucal.setAlignment(Element.ALIGN_LEFT);
            saludBucal.setIndentationLeft(50);
            Chapter chap= new Chapter(saludBucal, 10);
            document.add(chap);
            document.newPage();
            
        }
        
	private void controlesSaludHastaDosAnios (Document document) throws DocumentException{
            Anchor anchorH2 = new Anchor("CONTROLES DE SALUD HASTA 2 AÑOS", capituloFont);
            anchorH2.setLeading(15);
            anchorH2.setName("CONTROLES DE SALUD HASTA 2 AÑOS");
            Paragraph cont = new Paragraph(anchorH2);
            agregarLineaEnBlanco(cont, 1);
            ArrayList<ControlSaludHastaDosAnios> lista = ninio.getCarne().getControlDeSaludHastaDos();
            if(!lista.isEmpty()){
                PdfPTable tabla = new PdfPTable (new float [] {1.2f, 1.5f, 0.8f, 0.7f, 0.6f, 0.6f, 0.5f, 0.5f, 0.5f, 1.9f, 1.2f, 1.4f});
                tabla.setWidthPercentage (100.0f);
                PdfPCell c1 = new PdfPCell(new Phrase("Fecha", chicaFont));
                c1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c1);
                PdfPCell c2 = new PdfPCell(new Phrase("Edad", chicaFont));
                c2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c2);
                PdfPCell c3 = new PdfPCell(new Phrase("Peso (gr)", chicaFont));
                c3.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c3);
                PdfPCell c4 = new PdfPCell(new Phrase("Talla (cm)", chicaFont));
                c4.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c4);
                PdfPCell c5 = new PdfPCell(new Phrase("PC (cm)", chicaFont));
                c5.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c5);
                PdfPCell c6 = new PdfPCell(new Phrase("pde", chicaFont));
                c6.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c6);
                PdfPCell c7 = new PdfPCell(new Phrase("Art", chicaFont));
                c7.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c7);
                PdfPCell c8 = new PdfPCell(new Phrase("Fe", chicaFont));
                c8.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c8);
                PdfPCell c9 = new PdfPCell(new Phrase("vit D", chicaFont));
                c9.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c9);
                PdfPCell c10 = new PdfPCell(new Phrase("Observaciones", chicaFont));
                c10.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c10);
                PdfPCell c11 = new PdfPCell(new Phrase("Fecha egreso", chicaFont));
                c11.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c11);
                PdfPCell c12 = new PdfPCell(new Phrase("Medico", chicaFont));
                c12.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c12);
                SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                for(int i = 0; i<lista.size()&&i<=15; i++){
                    PdfPCell a1 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getFecha()),masChicaFont));
                    a1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a1);
                    PdfPCell a2 = new PdfPCell(new Phrase(funcAux.muestraEdad(lista.get(i).getEdad()),masChicaFont));
                    tabla.addCell(a2);
                    PdfPCell a3 = new PdfPCell(new Phrase(Integer.toString(lista.get(i).getPeso()),masChicaFont));
                    a3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a3);
                    PdfPCell a4 = new PdfPCell(new Phrase(Integer.toString(lista.get(i).getTalla()),masChicaFont));
                    a4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a4);
                    PdfPCell a5 = new PdfPCell(new Phrase(Integer.toString(lista.get(i).getPerimetroCraneal()),masChicaFont));
                    a5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a5);
                    String pde = "";
                    if (lista.get(i).isAlimentacionPde()){
                        pde = "Si";
                    }
                    PdfPCell a6 = new PdfPCell(new Phrase(pde,masChicaFont));
                    a6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a6);
                    String art = "";
                    if (lista.get(i).isAlimentacionArtificial()){
                        art = "Si";
                    }
                    PdfPCell a7 = new PdfPCell(new Phrase(art,masChicaFont));
                    a7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a7);
                    String fe = "";
                    if (lista.get(i).isHierro()){
                        fe = "Si";
                    }
                    PdfPCell a8 = new PdfPCell(new Phrase(fe,masChicaFont));
                    a8.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a8);
                    String vit = "";
                    if (lista.get(i).isHierro()){
                        vit = "Si";
                    }
                    PdfPCell a9 = new PdfPCell(new Phrase(vit,masChicaFont));
                    a9.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a9);
                    PdfPCell a10 = new PdfPCell(new Phrase(lista.get(i).getObservaciones(),masChicaFont));
                    tabla.addCell(a10);
                    PdfPCell a11 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getProximoCont()),masChicaFont));
                    a11.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a11);
                    PdfPCell a12 = new PdfPCell(new Phrase(lista.get(i).getMedico().toString(),masChicaFont));
                    tabla.addCell(a12);
                }
                cont.add(tabla);
                agregarLineaEnBlanco(cont, 1);
                
                Paragraph pc = new Paragraph("pc: perímetro cefálico",chicaFont);
                cont.add(pc);
                Paragraph pde = new Paragraph("pde: pecho directo exclusivo",chicaFont);
                cont.add(pde);
                Paragraph art = new Paragraph("art: alimentación artificial",chicaFont);
                cont.add(art);
                Paragraph fe = new Paragraph("fe: Hierro",chicaFont);
                cont.add(fe);
                Paragraph vit = new Paragraph("vit.D: vitamina D",chicaFont);
                cont.add(vit);
                agregarLineaEnBlanco(cont, 1);
                Paragraph nota = new Paragraph("Por razones de espacio, se muestran hasta 15 controles de salud hasta 2 años", normalFont);
                cont.add(nota);
                Paragraph nota2 = new Paragraph("Para ver la lista completa de controles de salud hasta 2 años acceda a la versión digital del carne", normalFont);
                cont.add(nota2);
            }
            else{
                agregarLineaEnBlanco(cont, 1);
                Paragraph aviso = new Paragraph("No se han anotado controles de salud hasta 2 años", sinDatosFont);
                cont.add(aviso);
            }
            
            Chapter chap= new Chapter(cont, 5);
            document.add(chap);
            document.newPage();
        }
        
        private void controlesSaludDesdeDosAnios (Document document) throws DocumentException{
            Anchor anchorCd = new Anchor("CONTROLES DE SALUD DESDE 2 AÑOS", capituloFont);
            anchorCd.setLeading(15);
            anchorCd.setName("CONTROLES DE SALUD DESDE 2 AÑOS");
            Paragraph cont = new Paragraph(anchorCd);
            agregarLineaEnBlanco(cont, 1);
            ArrayList<ControlSaludDesdeDosAnios> lista = ninio.getCarne().getControlDeSaludDesdeDos();
            if(!lista.isEmpty()){
                PdfPTable tabla = new PdfPTable (new float [] {1.2f, 1.5f, 0.8f, 0.7f, 0.6f, 0.6f, 0.6f, 1.9f, 1.2f, 1.4f});
                tabla.setWidthPercentage (100.0f);
                PdfPCell c1 = new PdfPCell(new Phrase("Fecha", chicaFont));
                c1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c1);
                PdfPCell c2 = new PdfPCell(new Phrase("Edad", chicaFont));
                c2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c2);
                PdfPCell c3 = new PdfPCell(new Phrase("Peso (gr)", chicaFont));
                c3.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c3);
                PdfPCell c4 = new PdfPCell(new Phrase("Talla (cm)", chicaFont));
                c4.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c4);
                PdfPCell c5 = new PdfPCell(new Phrase("IMC", chicaFont));
                c5.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c5);
                PdfPCell c6 = new PdfPCell(new Phrase("PAS", chicaFont));
                c6.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c6);
                PdfPCell c7 = new PdfPCell(new Phrase("PAD", chicaFont));
                c7.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c7);
                PdfPCell c8 = new PdfPCell(new Phrase("Observaciones", chicaFont));
                c8.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c8);
                PdfPCell c9 = new PdfPCell(new Phrase("Fecha egreso", chicaFont));
                c9.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c9);
                PdfPCell c10 = new PdfPCell(new Phrase("Medico", chicaFont));
                c10.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c10);
                SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                for(int i = 0; i<lista.size()&&i<=15; i++){
                    PdfPCell a1 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getFecha()),masChicaFont));
                    a1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a1);
                    PdfPCell a2 = new PdfPCell(new Phrase(funcAux.muestraEdad(lista.get(i).getEdad()),masChicaFont));
                    tabla.addCell(a2);
                    PdfPCell a3 = new PdfPCell(new Phrase(Integer.toString(lista.get(i).getPeso()),masChicaFont));
                    a3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a3);
                    PdfPCell a4 = new PdfPCell(new Phrase(Integer.toString(lista.get(i).getTalla()),masChicaFont));
                    a4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a4);
                    double imc = (Math.rint(lista.get(i).getImc()*100))/100;
                    PdfPCell a5 = new PdfPCell(new Phrase(Double.toString(imc),masChicaFont));
                    a5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a5);
                    PdfPCell a6 = new PdfPCell(new Phrase(Integer.toString(lista.get(i).getPas()),masChicaFont));
                    a6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a6);
                    PdfPCell a7 = new PdfPCell(new Phrase(Integer.toString(lista.get(i).getPad()),masChicaFont));
                    a7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a7);
                    PdfPCell a8 = new PdfPCell(new Phrase(lista.get(i).getObservaciones(),masChicaFont));
                    tabla.addCell(a8);
                    PdfPCell a9= new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getProximoCont()),masChicaFont));
                    a9.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a9);
                    PdfPCell a10 = new PdfPCell(new Phrase(lista.get(i).getMedico().toString(),masChicaFont));
                    tabla.addCell(a10);
                }
                cont.add(tabla);
                agregarLineaEnBlanco(cont, 1);
                Paragraph imc = new Paragraph("IMC: índice de masa corporal: peso/(talla al cuadrado)",chicaFont);
                cont.add(imc);
                Paragraph pas = new Paragraph("pas: presión arterial sistólica",chicaFont);
                cont.add(pas);
                Paragraph pad = new Paragraph("pad: presión arterial diastólica",chicaFont);
                cont.add(pad);
                agregarLineaEnBlanco(cont, 1);
                Paragraph nota = new Paragraph("Por razones de espacio, se muestran hasta 15 controles de salud desde 2 años", normalFont);
                cont.add(nota);
                Paragraph nota2 = new Paragraph("Para ver la lista completa de controles de salud desde 2 años acceda a la versión digital del carne", normalFont);
                cont.add(nota2);
            }
            else{
                agregarLineaEnBlanco(cont, 1);
                Paragraph aviso = new Paragraph("No se han anotado controles de salud desde 2 años", sinDatosFont);
                cont.add(aviso);
            }
            
            Chapter chap= new Chapter(cont,6);
            document.add(chap);
            document.newPage();
        }
        
        private void ecografias (Document document) throws DocumentException{
            Anchor anchorEco = new Anchor("ECOGRAFIAS", capituloFont);
            anchorEco.setLeading(15);
            anchorEco.setName("ECOGRAFIAS");
            Paragraph eco = new Paragraph(anchorEco);
            agregarLineaEnBlanco(eco, 1);
            ArrayList<Ecografia> lista = ninio.getCarne().getEcografias();
            if(!lista.isEmpty()){
                PdfPTable tabla = new PdfPTable (new float [] {1.1f, 1.5f, 3.0f, 1.7f});
                tabla.setWidthPercentage (90.0f);
                PdfPCell c1 = new PdfPCell(new Phrase("Fecha", chicaFont));
                c1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c1);
                PdfPCell c2 = new PdfPCell(new Phrase("Edad", chicaFont));
                c2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c2);
                PdfPCell c3 = new PdfPCell(new Phrase("Resultado", chicaFont));
                c3.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c3);
                PdfPCell c4 = new PdfPCell(new Phrase("Medico", chicaFont));
                c4.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c4);
                SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                for(int i = 0; i<lista.size()&&i<=15; i++){
                    PdfPCell a1 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getFecha()),chicaFont));
                    a1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a1);
                    PdfPCell a2 = new PdfPCell(new Phrase(funcAux.muestraEdad(lista.get(i).getEdad()),chicaFont));
                    tabla.addCell(a2);
                    PdfPCell a3 = new PdfPCell(new Phrase(lista.get(i).getResultado(),chicaFont));
                    tabla.addCell(a3);
                    PdfPCell a4 = new PdfPCell(new Phrase(lista.get(i).getEcografista().toString(),chicaFont));
                    tabla.addCell(a4);
                }
                eco.add(tabla);
                agregarLineaEnBlanco(eco, 1);

                Paragraph nota = new Paragraph("Por razones de espacio, se muestran hasta 15 ecografias", normalFont);
                eco.add(nota);
                Paragraph nota2 = new Paragraph("Para ver la lista completa de ecografias acceda a la versión digital del carne", normalFont);
                eco.add(nota2);
            }
            else{
                agregarLineaEnBlanco(eco, 1);
                Paragraph aviso = new Paragraph("No se han anotado ecografias", sinDatosFont);
                eco.add(aviso);
            }
            eco.setAlignment(Element.ALIGN_LEFT);
            eco.setIndentationLeft(50);
            
            Chapter chap= new Chapter(eco, 11);
            document.add(chap);
            document.newPage();
        }
        
        private void interconsultas (Document document) throws DocumentException{
            Anchor anchorIn = new Anchor("INTERCONSULTAS", capituloFont);
            anchorIn.setLeading(15);
            anchorIn.setName("INTERCONSULTAS");
            Paragraph inter = new Paragraph(anchorIn);
            agregarLineaEnBlanco(inter, 1);
            ArrayList<Interconsulta> lista = ninio.getCarne().getInterconsultas();
            if(!lista.isEmpty()){
                PdfPTable tabla = new PdfPTable (new float [] {1.1f, 1.5f, 1.6f, 2.5f, 1.7f});
                tabla.setWidthPercentage (90.0f);
                PdfPCell c1 = new PdfPCell(new Phrase("Fecha", chicaFont));
                c1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c1);
                PdfPCell c2 = new PdfPCell(new Phrase("Edad", chicaFont));
                c2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c2);
                PdfPCell c3 = new PdfPCell(new Phrase("Especialidad", chicaFont));
                c3.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c3);
                PdfPCell c4 = new PdfPCell(new Phrase("Diagnóstico/Tratamiento", chicaFont));
                c4.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c4);
                PdfPCell c5 = new PdfPCell(new Phrase("Medico", chicaFont));
                c5.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c5);
                SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                for(int i = 0; i<lista.size()&&i<=15; i++){
                    PdfPCell a1 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getFecha()),chicaFont));
                    a1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a1);
                    PdfPCell a2 = new PdfPCell(new Phrase(funcAux.muestraEdad(lista.get(i).getEdad()),chicaFont));
                    tabla.addCell(a2);
                    PdfPCell a3 = new PdfPCell(new Phrase(lista.get(i).getEspecialidad(),chicaFont));
                    tabla.addCell(a3);
                    PdfPCell a4 = new PdfPCell(new Phrase(lista.get(i).getDiagTratamineto(),chicaFont));
                    tabla.addCell(a4);
                    PdfPCell a5 = new PdfPCell(new Phrase(lista.get(i).getMedico().toString(),chicaFont));
                    tabla.addCell(a5);
                }
                inter.add(tabla);
                agregarLineaEnBlanco(inter, 1);

                Paragraph nota = new Paragraph("Por razones de espacio, se muestran hasta 15 interconsultas", normalFont);
                inter.add(nota);
                Paragraph nota2 = new Paragraph("Para ver la lista completa de interconsultas acceda a la versión digital del carne", normalFont);
                inter.add(nota2);
            }
            else{
                agregarLineaEnBlanco(inter, 1);
                Paragraph aviso = new Paragraph("No se han anotado interconsultas", sinDatosFont);
                inter.add(aviso);
            }
            inter.setAlignment(Element.ALIGN_LEFT);
            inter.setIndentationLeft(50);
            
            Chapter chap= new Chapter(inter, 7);
            document.add(chap);
            document.newPage();
        }
        
        private void hospitalizacionesEnf (Document document) throws DocumentException{
            Anchor anchorH = new Anchor("HOSPITALIZACIONES - ENFERMEDADES", capituloFont);
            anchorH.setLeading(15);
            anchorH.setName("HOSPITALIZACIONES - ENFERMEDADES");
            Paragraph hosp = new Paragraph(anchorH);
            agregarLineaEnBlanco(hosp, 1);
            ArrayList<HospEnf> lista = ninio.getCarne().getHospEnf();
            if(!lista.isEmpty()){
                PdfPTable tabla = new PdfPTable (new float [] {1.1f, 1.5f, 2.3f, 1.2f, 1.7f});
                tabla.setWidthPercentage (90.0f);
                PdfPCell c1 = new PdfPCell(new Phrase("Fecha", chicaFont));
                c1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c1);
                PdfPCell c2 = new PdfPCell(new Phrase("Edad", chicaFont));
                c2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c2);
                PdfPCell c3 = new PdfPCell(new Phrase("Diagnóstico/Tratamiento", chicaFont));
                c3.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c3);
                PdfPCell c4 = new PdfPCell(new Phrase("Fecha egreso", chicaFont));
                c4.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c4);
                PdfPCell c5 = new PdfPCell(new Phrase("Medico", chicaFont));
                c5.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c5);
                SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                for(int i = 0; i<lista.size()&&i<=15; i++){
                    PdfPCell a1 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getFecha()),chicaFont));
                    a1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a1);
                    PdfPCell a2 = new PdfPCell(new Phrase(funcAux.muestraEdad(lista.get(i).getEdad()),chicaFont));
                    tabla.addCell(a2);
                    PdfPCell a4 = new PdfPCell(new Phrase(lista.get(i).getDiagTratamiento(),chicaFont));
                    tabla.addCell(a4);
                    PdfPCell a5 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getFechaEgreso()),chicaFont));
                    a5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a5);
                    PdfPCell a6 = new PdfPCell(new Phrase(lista.get(i).getMedico().toString(),chicaFont));
                    tabla.addCell(a6);
                }
                hosp.add(tabla);
                agregarLineaEnBlanco(hosp, 1);

                Paragraph nota = new Paragraph("Por razones de espacio, se muestran hasta 15 hospitalizaciones y enfermedades", normalFont);
                hosp.add(nota);
                Paragraph nota2 = new Paragraph("Para ver la lista completa de hospitalizaciones y enfermedades acceda a la versión digital del carne", normalFont);
                hosp.add(nota2);
            }
            else{
                agregarLineaEnBlanco(hosp, 1);
                Paragraph aviso = new Paragraph("No se han anotado hospitalizaciones y enfermedades", sinDatosFont);
                hosp.add(aviso);
            }
            hosp.setAlignment(Element.ALIGN_LEFT);
            hosp.setIndentationLeft(50);
            
            Chapter chap= new Chapter(hosp, 8);
            document.add(chap);
            document.newPage();
        }
        
        private void notas (Document document) throws DocumentException{
            Anchor anchorN= new Anchor("NOTAS", capituloFont);
            anchorN.setLeading(15);
            anchorN.setName("NOTAS");
            Paragraph nota = new Paragraph(anchorN);
            agregarLineaEnBlanco(nota, 1);
            ArrayList<Nota> lista = ninio.getCarne().getNotas();
            if (!lista.isEmpty()){
                PdfPTable tabla = new PdfPTable (new float [] {1.1f, 1.5f, 3f, 1.7f});
                tabla.setWidthPercentage (90.0f);
                PdfPCell c1 = new PdfPCell(new Phrase("Fecha", chicaFont));
                c1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c1);
                PdfPCell c2 = new PdfPCell(new Phrase("Edad", chicaFont));
                c2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c2);
                PdfPCell c3 = new PdfPCell(new Phrase("Nota", chicaFont));
                c3.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c3);
                PdfPCell c4 = new PdfPCell(new Phrase("Autor", chicaFont));
                c3.setHorizontalAlignment(Element.ALIGN_CENTER);
                tabla.addCell(c4);
                SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy");
                for(int i = 0; i<lista.size()&&i<=15; i++){
                    PdfPCell a1 = new PdfPCell(new Phrase(formatoFecha.format(lista.get(i).getFecha()),chicaFont));
                    a1.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(a1);
                    PdfPCell a2 = new PdfPCell(new Phrase(funcAux.muestraEdad(lista.get(i).getEdad()),chicaFont));
                    tabla.addCell(a2);
                    PdfPCell a3 = new PdfPCell(new Phrase(lista.get(i).getAnotacion(),chicaFont));
                    tabla.addCell(a3);
                    PdfPCell a4 = new PdfPCell(new Phrase(lista.get(i).getActor().toString(),chicaFont));
                    tabla.addCell(a4);
                }
                nota.add(tabla);
                agregarLineaEnBlanco(nota, 1);

                Paragraph aviso = new Paragraph("Por razones de espacio, se muestran hasta 15 anotaciones", normalFont);
                nota.add(aviso);
                Paragraph aviso2 = new Paragraph("Para ver la lista completa de anotaciones acceda a la versión digital del carne", normalFont);
                nota.add(aviso2);
            }
            else{
                agregarLineaEnBlanco(nota, 1);
                Paragraph aviso = new Paragraph("No se han hecho anotaciones", sinDatosFont);
                nota.add(aviso);
            }
            nota.setAlignment(Element.ALIGN_LEFT);
            nota.setIndentationLeft(50);
            
            Chapter chap= new Chapter(nota, 13);
            document.add(chap);
            document.newPage();
        }

	private static void agregarLineaEnBlanco(Paragraph paragraph, int number) {
		for (int i = 0; i < number; i++) {
			paragraph.add(new Paragraph(" "));
		}
	}
}


